140 research outputs found
On Asynchrony and Choreographies
Choreographic Programming is a paradigm for the development of concurrent
software, where deadlocks are prevented syntactically. However, choreography
languages are typically synchronous, whereas many real-world systems have
asynchronous communications. Previous attempts at enriching choreographies with
asynchrony rely on ad-hoc constructions, whose adequacy is only argued
informally. In this work, we formalise the properties that an asynchronous
semantics for choreographies should have: messages can be sent without the
intended receiver being ready, and all sent messages are eventually received.
We explore how out-of-order execution, used in choreographies for modelling
concurrency, can be exploited to endow choreographies with an asynchronous
semantics. Our approach satisfies the properties we identified. We show how our
development yields a pleasant correspondence with FIFO-based asynchronous
messaging, modelled in a process calculus, and discuss how it can be adopted in
more complex choreography models.Comment: In Proceedings ICE 2017, arXiv:1711.1070
Communications in Choreographies, Revisited
Choreographic Programming is a paradigm for developing
correct-by-construction concurrent programs, by writing high-level descriptions
of the desired communications and then synthesising process implementations
automatically. So far, choreographic programming has been explored in the
monadic setting: interaction terms express point-to-point communications of a
single value. However, real-world systems often rely on interactions of
polyadic nature, where multiple values are communicated among two or more
parties, like multicast, scatter-gather, and atomic exchanges. We introduce a
new model for choreographic programming equipped with a primitive for grouped
interactions that subsumes all the above scenarios. Intuitively, grouped
interactions can be thought of as being carried out as one single interaction.
In practice, they are implemented by processes that carry them out in a
concurrent fashion. After formalising the intuitive semantics of grouped
interactions, we prove that choreographic programs and their implementations
are correct and deadlock-free by construction
Hypothetical answers to continuous queries over data streams
Continuous queries over data streams may suffer from blocking operations
and/or unbound wait, which may delay answers until some relevant input arrives
through the data stream. These delays may turn answers, when they arrive,
obsolete to users who sometimes have to make decisions with no help whatsoever.
Therefore, it can be useful to provide hypothetical answers - "given the
current information, it is possible that X will become true at time t" -
instead of no information at all.
In this paper we present a semantics for queries and corresponding answers
that covers such hypothetical answers, together with an online algorithm for
updating the set of facts that are consistent with the currently available
information
Sorting Networks: the End Game
This paper studies properties of the back end of a sorting network and
illustrates the utility of these in the search for networks of optimal size or
depth. All previous works focus on properties of the front end of networks and
on how to apply these to break symmetries in the search. The new properties
help shed understanding on how sorting networks sort and speed-up solvers for
both optimal size and depth by an order of magnitude
Impact of the Sovereign Debt Crisis on the Determinants of the Capital Structure in Real Estate and Construction Related Firms - Evidence from Portugal
Portugal was one of the most affected countries by the sovereign debt crisis, whose impact was felt mostly in the peripheral European countries, being one of the reasons for the development of this topic. We have focused on only one industry, being the real estate and construction related firms, because there are few studies that make an exhaustive study on industries. Additionally, this industry in particular, is very pro-cyclical, in the sense that depends a lot on the existence of good economic conditions to gather construction contracts as well as public investment. The purpose of this dissertation is to understand if the sovereign debt crisis had an impact over the capital structure of the companies and on the firm-specific variables. There are some theories that try to explain how companies decide about their capital structure that alongside with the support of empirical studies were used in the formulation of several hypotheses.An unbalanced panel of 404 firms, whose information was gathered from the database SABI Bureau Van Dijk, was used in the econometric estimations. We have estimated two main models for four different dependent variables, namely debt ratios, because we wanted to assess how different maturities of debt were affected by the crisis. In the end, we provide evidence of a reduction in the debt ratios during the period of crisis, which may be a sign that a credit shortage occurred, at least for this industry. This event could have been caused by the huge distress banks were experiencing as well as all the austerity measures implemented during those years, due to the bailout applied in Portugal by TROIKA. However, the robustness tests demonstrated that this evidence was relatively weak. We also have found some interesting results relative to the determinants of the literature included in the models
Connectors meet Choreographies
We present Cho-Reo-graphies (CR), a new language model that unites two
powerful programming paradigms for concurrent software based on communicating
processes: Choreographic Programming and Exogenous Coordination. In CR,
programmers specify the desired communications among processes using a
choreography, and define how communications should be concretely animated by
connectors given as constraint automata (e.g., synchronous barriers and
asynchronous multi-casts). CR is the first choreography calculus where
different communication semantics (determined by connectors) can be freely
mixed; since connectors are user-defined, CR also supports many communication
semantics that were previously unavailable for choreographies. We develop a
static analysis that guarantees that a choreography in CR and its user-defined
connectors are compatible, define a compiler from choreographies to a process
calculus based on connectors, and prove that compatibility guarantees
deadlock-freedom of the compiled process implementations
- ā¦